Online forums in which users may post and review messages are becoming increasingly popular. An online forum allows users to draft and post messages, respond to posted messages, and may allow a user to make changes to posted messages (such as flagging a posted message or deleting a message that the user authored). Such online forums are generally run for a particular purpose, e.g., as part of a support group, as a question and answer forum, as a discussion board for online education, etc.
Many users participate in online forums via multiple client computing devices. For example, a particular user may have both a laptop computer and a tablet computer on which the user reviews, modifies, and creates new messages for a particular online forum. Because these client devices may not be constantly connected to a network through which the online forum is accessible, the software used to access the online forum may be designed to maintain a client-side instance of messages from the online forum. Further, the software may provide a mechanism by which the user may modify the client-side instance of a posted message or a draft of a new message, while the user's device is offline.
Changing a message offline can create synchronization issues at the online forum. For example, a user may make some offline edits (changes X) to an instance of a message on the laptop computer, and different offline edits (changes Y) to another instance of the same message on the tablet computer. If the user attempts to causes both sets of edits to be propagated to the instance of the message that resides at online forum, a conflict occurs. Possible resolutions to such a conflict include but are not limited to:                keep changes X and discard changes Y,        keep changes Y and discard changes X,        attempt to keep both changes (though in some situations the changes may be mutually exclusive),        create a second online copy of the message, where the first copy reflects changes X and the second copy reflects changes Y        raise an error without making any changes        request the user to specify which changes should be kept in the online instance of the message        
While there are many possible ways to resolve the conflict, it can be difficult to determine which resolution is appropriate in any given situation. Further, the example given above is merely one way a conflict can occur. There are any number of situations that may result in conflicting offline updates to the same message, which can be equally difficult to resolve.
The approaches described in this section are approaches that could be pursued, but not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section.